[INFO] cloning repository https://github.com/sase-org/sase-core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sase-org/sase-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsase-org%2Fsase-core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsase-org%2Fsase-core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 76d4a2201de2865a39dc5b3231d88623f0bf1387
[INFO] testing sase-org/sase-core against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsase-org%2Fsase-core" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/sase-org/sase-core
[INFO] finished tweaking git repo https://github.com/sase-org/sase-core
[INFO] tweaked toml for git repo https://github.com/sase-org/sase-core written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sase-org/sase-core on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sase-org/sase-core already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 317d29cc5909f2bc8c81afc002e47886c50954a7ecb6d97c46aff91b15be0b98
[INFO] running `Command { std: "docker" "start" "-a" "317d29cc5909f2bc8c81afc002e47886c50954a7ecb6d97c46aff91b15be0b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "317d29cc5909f2bc8c81afc002e47886c50954a7ecb6d97c46aff91b15be0b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "317d29cc5909f2bc8c81afc002e47886c50954a7ecb6d97c46aff91b15be0b98", kill_on_drop: false }`
[INFO] [stdout] 317d29cc5909f2bc8c81afc002e47886c50954a7ecb6d97c46aff91b15be0b98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3b310b51afca1e9a55edf5ef592f3e44df69e7f85afe034f4ba0d4e59dd51a1
[INFO] running `Command { std: "docker" "start" "-a" "d3b310b51afca1e9a55edf5ef592f3e44df69e7f85afe034f4ba0d4e59dd51a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling fluent-uri v0.1.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling unindent v0.2.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio v1.52.2
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling simple_asn1 v0.6.4
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling lsp-types v0.97.0
[INFO] [stderr]    Compiling jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling sase_core v0.1.2 (/opt/rustwide/workdir/crates/sase_core)
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling tower-lsp-server v0.21.1
[INFO] [stderr]    Compiling sase_gateway v0.1.2 (/opt/rustwide/workdir/crates/sase_gateway)
[INFO] [stderr]    Compiling sase_xprompt_lsp v0.1.2 (/opt/rustwide/workdir/crates/sase_xprompt_lsp)
[INFO] [stderr]    Compiling sase_core_py v0.1.2 (/opt/rustwide/workdir/crates/sase_core_py)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] running `Command { std: "docker" "inspect" "d3b310b51afca1e9a55edf5ef592f3e44df69e7f85afe034f4ba0d4e59dd51a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3b310b51afca1e9a55edf5ef592f3e44df69e7f85afe034f4ba0d4e59dd51a1", kill_on_drop: false }`
[INFO] [stdout] d3b310b51afca1e9a55edf5ef592f3e44df69e7f85afe034f4ba0d4e59dd51a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 01b3ea5bc18e8f3c4063487bec2348f4b6e05a0dd48850341262e791979984a8
[INFO] running `Command { std: "docker" "start" "-a" "01b3ea5bc18e8f3c4063487bec2348f4b6e05a0dd48850341262e791979984a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling sase_xprompt_lsp v0.1.2 (/opt/rustwide/workdir/crates/sase_xprompt_lsp)
[INFO] [stderr]    Compiling sase_core v0.1.2 (/opt/rustwide/workdir/crates/sase_core)
[INFO] [stderr]    Compiling sase_core_py v0.1.2 (/opt/rustwide/workdir/crates/sase_core_py)
[INFO] [stderr]    Compiling sase_gateway v0.1.2 (/opt/rustwide/workdir/crates/sase_gateway)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 49.02s
[INFO] running `Command { std: "docker" "inspect" "01b3ea5bc18e8f3c4063487bec2348f4b6e05a0dd48850341262e791979984a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01b3ea5bc18e8f3c4063487bec2348f4b6e05a0dd48850341262e791979984a8", kill_on_drop: false }`
[INFO] [stdout] 01b3ea5bc18e8f3c4063487bec2348f4b6e05a0dd48850341262e791979984a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7fc80888b9754c16b2adde5ec01af26f538a048b627771ed4799e0603b516bad
[INFO] running `Command { std: "docker" "start" "-a" "7fc80888b9754c16b2adde5ec01af26f538a048b627771ed4799e0603b516bad", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sase_core-caad330614008cad)
[INFO] [stdout] 
[INFO] [stdout] running 421 tests
[INFO] [stdout] test agent_cleanup::execution::tests::bundle_filename_and_shard_match_dismissed_layout ... ok
[INFO] [stdout] test agent_cleanup::execution::tests::release_workspace_text_removes_matching_claim_and_cleans_field ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::all_panels_kill_and_dismiss_partitions_targets ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::dismissable_statuses_include_tale_done ... ok
[INFO] [stdout] test agent_cleanup::execution::tests::release_workspace_text_removes_empty_running_field ... ok
[INFO] [stdout] test agent_cleanup::execution::tests::delete_agent_artifact_markers_removes_loader_files_only ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::dismiss_side_effects_allow_duplicate_historical_names ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::focused_panel_selects_matching_tag_and_dismisses_completed ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::no_op_plan_reports_none_severity ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::explicit_identities_select_only_marked_targets ... ok
[INFO] [stdout] test agent_cleanup::execution::tests::mark_running_hook_mentor_and_comment_suffixes_as_killed ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::tag_scope_uses_parent_tag_for_workflow_children_but_skips_child_directly ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::workflow_parent_cascade_deduplicates_child_inputs ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::unknown_kill_kind_is_skipped ... ok
[INFO] [stdout] test agent_group_archive::tests::missing_group_name_loads_as_none ... ok
[INFO] [stdout] test agent_launch::tests::allocate_and_claim_picks_first_available_workspace ... ok
[INFO] [stdout] test agent_launch::tests::claim_workspace_rejects_duplicate_nonzero_but_allows_zero ... ok
[INFO] [stdout] test agent_launch::tests::fanout_plan_round_trips_slots ... ok
[INFO] [stdout] test agent_group_archive::tests::missing_ref_prompt_preview_loads_as_none ... ok
[INFO] [stdout] test agent_cleanup::execution::tests::save_dismissed_bundle_json_writes_sharded_pretty_json ... ok
[INFO] [stdout] test agent_group_archive::tests::whitespace_group_name_normalizes_to_none ... ok
[INFO] [stdout] test agent_group_archive::tests::save_list_and_load_preserve_group_name ... ok
[INFO] [stdout] test agent_group_archive::tests::load_group_keeps_refs_when_bundle_files_are_missing ... ok
[INFO] [stdout] test agent_group_archive::tests::corrupt_and_missing_group_files_are_tolerated ... ok
[INFO] [stdout] test agent_cleanup::execution::tests::save_dismissed_bundle_json_replaces_existing_bundle ... ok
[INFO] [stdout] test agent_group_archive::tests::mark_group_revived_preserves_metadata ... ok
[INFO] [stdout] test agent_launch::tests::launch_request_round_trips_json_shape ... ok
[INFO] [stdout] test agent_launch::tests::prepare_agent_launch_deferred_and_home_claim_shapes ... ok
[INFO] [stdout] test agent_group_archive::tests::recent_groups_tolerate_corrupt_files_and_mark_revived ... ok
[INFO] [stdout] test agent_launch::tests::prepared_wire_preserves_null_claim_request ... ok
[INFO] [stdout] test agent_launch::tests::timestamp_batch_allocates_unique_visible_timestamps ... ok
[INFO] [stdout] test agent_launch::tests::timestamp_batch_rejects_invalid_format ... ok
[INFO] [stdout] test agent_launch::tests::timestamp_batch_starts_after_previous_allocation ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_extracts_repeat_slots ... ok
[INFO] [stdout] test agent_launch::tests::prepare_agent_launch_writes_prompt_and_shapes_process_data ... ok
[INFO] [stdout] test agent_launch::tests::transfer_workspace_claim_matches_pid_and_preserves_claim_name ... ok
[INFO] [stdout] test agent_name_template::tests::compares_by_auto_sequence_order ... ok
[INFO] [stdout] test agent_launch::tests::workspace_claims_parse_valid_rows_and_ignore_malformed ... ok
[INFO] [stdout] test agent_name_template::tests::derives_namespace_template_shapes ... ok
[INFO] [stdout] test agent_name_template::tests::generates_shortlex_tokens ... ok
[INFO] [stdout] test agent_name_template::tests::matches_template_tokens ... ok
[INFO] [stdout] test agent_name_template::tests::parses_exactly_one_marker ... ok
[INFO] [stdout] test agent_name_template::tests::renders_template_shapes ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_splits_multi_prompt_outside_fences ... ok
[INFO] [stdout] test agent_group_archive::tests::recent_groups_replace_same_group_id ... ok
[INFO] [stdout] test agent_scan::index::tests::index_query_wire_round_trips_active_limit ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_model_alt_ids_preserve_named_model_branches ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_preserves_named_alt_ids_and_values_only ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_time_directive_is_not_previous_wait ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_composes_cartesian_alt_ids ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_splits_models_and_alternatives ... ok
[INFO] [stdout] test agent_cleanup::planner::tests::dismiss_side_effects_preserve_names ... ok
[INFO] [stdout] test agent_launch::tests::fanout_planner_allocates_unnamed_alt_ids_after_named_ids ... ok
[INFO] [stdout] test agent_scan::index::tests::query_keeps_corrupt_existing_index_strict ... ok
[INFO] [stdout] test agent_archive::tests::query_agent_archive_returns_paged_summary_rows ... ok
[INFO] [stdout] test agent_archive::tests::mark_agent_archive_bundles_revived_updates_bundle_and_index ... ok
[INFO] [stdout] test agent_scan::index::tests::anonymous_appears_as_agent_workflow_is_not_hidden ... ok
[INFO] [stdout] test agent_scan::index::tests::explicit_workflow_state_hidden_is_still_filtered ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_appended_feedback_submitted_at ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_done_creation_before_completed_filter ... ok
[INFO] [stdout] test agent_scan::index::tests::migration_recomputes_hidden_for_v1_indexes ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_running_to_done_transition ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_newly_added_run_started_at ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_hidden_to_visible_before_visible_filter ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_waiting_deletion_to_running ... ok
[INFO] [stdout] test agent_scan::index::tests::query_skips_rescan_when_signatures_match ... ok
[INFO] [stdout] test bead::config::tests::load_current_shape ... ok
[INFO] [stdout] test bead::config::tests::missing_file_returns_supplied_default ... ok
[INFO] [stdout] test agent_group_archive::tests::recent_groups_are_capped_and_list_newest_first ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_pending_question_creation_and_deletion ... ok
[INFO] [stdout] test bead::jsonl::tests::corrupt_lines_are_skipped ... ok
[INFO] [stdout] test bead::jsonl::tests::export_sorts_by_id_and_uses_compact_json ... ok
[INFO] [stdout] test bead::jsonl::tests::import_defaults_missing_epic_count_to_none ... ok
[INFO] [stdout] test bead::jsonl::tests::import_defaults_missing_model_to_empty ... ok
[INFO] [stdout] test bead::jsonl::tests::import_preserves_legend_epic_count ... ok
[INFO] [stdout] test bead::jsonl::tests::import_preserves_model ... ok
[INFO] [stdout] test bead::jsonl::tests::import_defaults_missing_plan_tiers_from_phase_children ... ok
[INFO] [stdout] test bead::jsonl::tests::import_rejects_model_control_characters ... ok
[INFO] [stdout] test agent_scan::index::tests::query_self_heals_appended_plan_submitted_at ... ok
[INFO] [stdout] test bead::config::tests::save_matches_python_pretty_json_shape ... ok
[INFO] [stdout] test bead::mutation::tests::create_rejects_epic_count_on_non_legend_plan ... ok
[INFO] [stdout] test bead::mutation::tests::create_rejects_model_control_characters ... ok
[INFO] [stdout] test agent_scan::index::tests::hidden_inclusive_full_history_can_inspect_dismissed_rows ... ok
[INFO] [stdout] test bead::mutation::tests::close_plan_cascades_open_children_before_parent ... ok
[INFO] [stdout] test bead::mutation::tests::create_and_update_model ... ok
[INFO] [stdout] test bead::mutation::tests::create_and_update_legend_epic_count ... ok
[INFO] [stdout] test agent_scan::index::tests::rebuild_indexes_scanner_equivalent_records ... ok
[INFO] [stdout] test bead::mutation::tests::mark_ready_rejects_phase_and_idempotent_plan ... ok
[INFO] [stdout] test agent_scan::index::tests::terminal_workflow_state_rows_are_recent_completed_rows ... ok
[INFO] [stdout] test bead::schema::tests::metadata_migration_adds_only_missing_columns ... ok
[INFO] [stdout] test bead::schema::tests::migration_detection_matches_python_helpers ... ok
[INFO] [stdout] test agent_scan::index::tests::recent_completed_limit_does_not_bound_active_rows ... ok
[INFO] [stdout] test agent_scan::index::tests::active_query_excludes_dismissed_identity_after_rebuild ... ok
[INFO] [stdout] test agent_scan::index::tests::wait_completed_records_are_indexed_as_running ... ok
[INFO] [stdout] test bead::wire::tests::bug_id_requires_changespec_name ... ok
[INFO] [stdout] test bead::wire::tests::legend_plan_allows_positive_epic_count ... ok
[INFO] [stdout] test bead::wire::tests::legacy_defaults_match_python_jsonl_loader ... ok
[INFO] [stdout] test bead::wire::tests::model_rejects_control_characters ... ok
[INFO] [stdout] test agent_scan::index::tests::recent_completed_rows_remain_visible_when_not_dismissed ... ok
[INFO] [stdout] test agent_scan::index::tests::rebuild_replaces_corrupt_existing_index ... ok
[INFO] [stdout] test bead::wire::tests::non_positive_epic_count_is_invalid ... ok
[INFO] [stdout] test bead::work::tests::copies_legend_model_to_land_model ... ok
[INFO] [stdout] test bead::schema::tests::schema_contains_current_constraints ... ok
[INFO] [stdout] test bead::wire::tests::empty_optional_strings_normalize_to_none ... ok
[INFO] [stdout] test bead::mutation::tests::create_top_level_uses_current_store_max_and_persists_counter ... ok
[INFO] [stdout] test bead::wire::tests::non_legend_epic_count_is_invalid ... ok
[INFO] [stdout] test bead::wire::tests::phase_rejects_plan_only_fields ... ok
[INFO] [stdout] test bead::wire::tests::phase_requires_parent ... ok
[INFO] [stdout] test bead::work::tests::epic_work_plan_copies_phase_and_land_models ... ok
[INFO] [stdout] test bead::work::tests::land_waits_on_every_launched_phase_in_wave_order ... ok
[INFO] [stdout] test bead::work::tests::detects_cycles ... ok
[INFO] [stdout] test bead::work::tests::legend_child_epic_uses_legend_launch_tag ... ok
[INFO] [stdout] test bead::work::tests::non_legend_parent_does_not_change_epic_launch_tag ... ok
[INFO] [stdout] test bead::work::tests::plans_diamond_dag_in_waves ... ok
[INFO] [stdout] test agent_scan::index::tests::tier1_active_query_is_bounded_to_newest_incomplete_rows ... ok
[INFO] [stdout] test bead::work::tests::plans_legend_epics_in_linear_wait_chain ... ok
[INFO] [stdout] test bead::work::tests::rejects_legend_without_design_path ... ok
[INFO] [stdout] test bead::work::tests::rejects_missing_legend_epic_count ... ok
[INFO] [stdout] test bead::work::tests::rejects_non_legend_plan_for_legend_work ... ok
[INFO] [stdout] test bead::work::tests::rejects_non_positive_legend_epic_count ... ok
[INFO] [stdout] test bead::work::tests::rejects_open_out_of_epic_blocker ... ok
[INFO] [stdout] test bead::work::tests::rejects_phase_for_legend_work ... ok
[INFO] [stdout] test editor::completion::tests::builds_catalog_completions_with_marker_filters ... ok
[INFO] [stdout] test editor::completion::tests::builds_snippet_completions_by_case_insensitive_prefix ... ok
[INFO] [stdout] test bead::work::tests::standalone_epic_uses_epic_launch_tag ... ok
[INFO] [stdout] test bead::mutation::tests::mark_ready_allows_legend_plan ... ok
[INFO] [stdout] test editor::completion::tests::builds_argument_name_completions ... ok
[INFO] [stdout] test editor::definition::tests::preserves_catalog_definition_range ... ok
[INFO] [stdout] test editor::definition::tests::resolves_namespaced_shorthand_and_slash_skill_definitions ... ok
[INFO] [stdout] test editor::definition::tests::resolves_inline_and_standalone_xprompt_definitions ... ok
[INFO] [stdout] test editor::definition::tests::returns_none_for_missing_entries_or_source_targets ... ok
[INFO] [stdout] test editor::completion::tests::classifies_primary_completion_modes ... ok
[INFO] [stdout] test editor::completion::tests::snippet_context_does_not_steal_higher_priority_tokens ... ok
[INFO] [stdout] test editor::completion::tests::detects_narrow_argument_contexts ... ok
[INFO] [stdout] test editor::definition::tests::validates_local_file_definition_paths_conservatively ... ok
[INFO] [stdout] test agent_group_archive::tests::save_and_list_pages_saved_groups_newest_first ... ok
[INFO] [stdout] test bead::mutation::tests::event_backed_child_id_reuse_after_remove_matches_jsonl_semantics ... ok
[INFO] [stdout] test bead::mutation::tests::mutations_create_canonical_events_and_regenerate_projection ... ok
[INFO] [stdout] test agent_scan::index::tests::upsert_and_delete_one_artifact_row ... ok
[INFO] [stdout] test bead::mutation::tests::preclaim_epic_work_plan_updates_once_and_returns_rollback ... ok
[INFO] [stdout] test bead::mutation::tests::preclaim_epic_work_plan_validation_is_all_or_nothing ... ok
[INFO] [stdout] test editor::diagnostics::tests::accepts_valid_input_aliases_and_defaults ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_invalid_snippet_tags_keywords_and_skill_metadata ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_initial_diagnostics ... ok
[INFO] [stdout] test editor::diagnostics::tests::accepts_known_frontmatter_input_type_aliases ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_flow_style_frontmatter_input_type_diagnostic ... ok
[INFO] [stdout] test editor::diagnostics::tests::incomplete_forms_do_not_emit_required_arg_noise ... ok
[INFO] [stdout] test editor::diagnostics::tests::accepts_frontmatter_local_xprompts ... ok
[INFO] [stdout] test editor::directive::tests::directive_completion_includes_time_alias ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_shortform_frontmatter_input_type_diagnostic ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_unknown_top_level_and_invalid_name ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_frontmatter_yaml_and_shape_diagnostics ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_longform_frontmatter_input_type_diagnostic ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_xprompt_argument_contract_diagnostics ... ok
[INFO] [stdout] test editor::diagnostics::tests::memory_long_source_path_supplies_implicit_memory_tag ... ok
[INFO] [stdout] test editor::file::tests::orders_directories_first_and_filters_dotfiles ... ok
[INFO] [stdout] test editor::directive::tests::resolves_documented_aliases ... ok
[INFO] [stdout] test editor::diagnostics::tests::accepts_valid_argument_forms_and_bool_spellings ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_flow_style_input_default_on_offending_scalar ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_invalid_input_defaults ... ok
[INFO] [stdout] test editor::diagnostics::tests::accepts_current_document_local_xprompts_and_validates_args ... ok
[INFO] [stdout] test editor::diagnostics::tests::reports_input_shape_name_duplicate_identifier_and_unknown_fields ... ok
[INFO] [stdout] test editor::diagnostics::tests::accepts_input_descriptions_and_reports_invalid_shapes ... ok
[INFO] [stdout] test editor::file::tests::preserves_at_prefix_and_marks_symlinked_directories ... ok
[INFO] [stdout] test editor::hover::tests::builds_frontmatter_field_hover ... ok
[INFO] [stdout] test editor::hover::tests::builds_xprompt_and_argument_hover ... ok
[INFO] [stdout] test editor::hover::tests::frontmatter_hover_ignores_body_and_non_field_positions ... ok
[INFO] [stdout] test editor::token::tests::extracts_expected_tokens ... ok
[INFO] [stdout] test editor::token::tests::extracts_mid_token_ranges ... ok
[INFO] [stdout] test editor::token::tests::maps_lsp_utf16_positions_defensively ... ok
[INFO] [stdout] test editor::token::tests::recognizes_memory_long_markdown_source_paths ... ok
[INFO] [stdout] test editor::token::tests::recognizes_prompt_widget_snippet_trigger_tokens ... ok
[INFO] [stdout] test editor::xprompt_args::tests::parses_parenthesized_named_and_positional_args ... ok
[INFO] [stdout] test editor::xprompt_args::tests::parses_colon_plus_hitl_and_namespaced_forms ... ok
[INFO] [stdout] test editor::xprompt_args::tests::preserves_commas_and_equals_inside_quotes_and_text_blocks ... ok
[INFO] [stdout] test episode::tests::v1_episode_json_deserializes_with_compatibility_defaults ... ok
[INFO] [stdout] test episode::tests::stable_ids_ignore_source_order ... ok
[INFO] [stdout] test git_query::parsers::tests::branch_name_detached_head_returns_none ... ok
[INFO] [stdout] test git_query::parsers::tests::branch_name_strips_surrounding_whitespace ... ok
[INFO] [stdout] test episode::tests::canonical_episode_json_sorts_collections ... ok
[INFO] [stdout] test git_query::parsers::tests::branch_name_whitespace_only_returns_none ... ok
[INFO] [stdout] test git_query::parsers::tests::conflicted_files_empty_stdout_returns_empty ... ok
[INFO] [stdout] test git_query::parsers::tests::conflicted_files_preserves_path_order ... ok
[INFO] [stdout] test git_query::parsers::tests::conflicted_files_strips_blank_lines ... ok
[INFO] [stdout] test git_query::parsers::tests::conflicted_files_only_blank_lines_returns_empty ... ok
[INFO] [stdout] test git_query::parsers::tests::branch_name_empty_stdout_returns_none ... ok
[INFO] [stdout] test git_query::parsers::tests::local_changes_dirty_tree_returns_stripped_text ... ok
[INFO] [stdout] test git_query::parsers::tests::branch_name_simple_value ... ok
[INFO] [stdout] test git_query::parsers::tests::local_changes_whitespace_only_returns_none ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_copy_with_score_carries_paired_paths ... ok
[INFO] [stdout] test episode::tests::verify_episode_sources_reports_missing_and_changed_sources ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_empty_stream_returns_empty ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_mixed_simple_and_rename_in_one_stream ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_skips_empty_status_tokens ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_rename_with_score_carries_paired_paths ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_simple_status_letters ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_truncated_rename_falls_back_to_single_path ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_truncated_status_only_drops_entry ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_falls_back_to_root_when_remote_blank ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_falls_back_to_root_when_remote_none ... ok
[INFO] [stdout] test git_query::parsers::tests::name_status_trailing_nul_is_ignored ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_https_remote_with_dot_git ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_https_remote_without_dot_git ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_path_like_remote ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_remote_dot_git_only_returns_none ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_remote_takes_priority_over_root ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_returns_none_when_both_inputs_empty ... ok
[INFO] [stdout] test git_query::parsers::tests::workspace_name_ssh_remote_with_dot_git ... ok
[INFO] [stdout] test host_bridge::tests::snippet_catalog_wire_accepts_minimal_entry_json ... ok
[INFO] [stdout] test notifications::mobile::tests::hitl_response_planner_matches_existing_shapes ... ok
[INFO] [stdout] test host_bridge::tests::xprompt_catalog_entry_wire_accepts_old_and_new_definition_path_json ... ok
[INFO] [stdout] test host_bridge::tests::static_helper_bridge_returns_structured_catalog_response ... ok
[INFO] [stdout] test notifications::mobile::tests::mobile_notification_contract_snapshot_is_stable ... ok
[INFO] [stdout] test notifications::mobile::tests::planner_errors_are_deterministic ... ok
[INFO] [stdout] test notifications::mobile::tests::plan_response_planner_covers_all_choices ... ok
[INFO] [stdout] test notifications::mobile::tests::prefix_resolution_makes_collisions_explicit ... ok
[INFO] [stdout] test notifications::mobile::tests::priority_and_error_classifiers_are_disjoint ... ok
[INFO] [stdout] test host_bridge::tests::static_helper_bridge_returns_snippet_catalog_response ... ok
[INFO] [stdout] test parser::tests::changespec_header_detection_requires_whitespace_then_word ... ok
[INFO] [stdout] test notifications::mobile::tests::action_result_contract_snapshot_is_stable ... ok
[INFO] [stdout] test parser::tests::changespec_header_separates_specs_without_blank_lines ... ok
[INFO] [stdout] test parser::tests::description_preserves_internal_blank_lines_then_trims ... ok
[INFO] [stdout] test notifications::pending_actions::tests::pending_store_merges_legacy_telegram_shape ... ok
[INFO] [stdout] test notifications::mobile::tests::question_planner_supports_index_label_id_and_custom_answers ... ok
[INFO] [stdout] test parser::tests::empty_value_lines_become_none_or_empty_per_python_rules ... ok
[INFO] [stdout] test notifications::pending_actions::tests::pending_state_detects_stale_and_external_plan_response ... ok
[INFO] [stdout] test parser::tests::invalid_utf8_returns_parse_error_wire ... ok
[INFO] [stdout] test parser::tests::new_name_inside_a_spec_starts_a_new_spec ... ok
[INFO] [stdout] test parser::tests::multi_line_description_strips_two_space_continuation ... ok
[INFO] [stdout] test notifications::pending_actions::tests::cleanup_stale_pending_actions_removes_only_expired_entries ... ok
[INFO] [stdout] test parser::tests::empty_input_yields_no_specs ... ok
[INFO] [stdout] test parser::tests::parent_cl_pr_bug_scalars_round_trip ... ok
[INFO] [stdout] test parser::tests::parses_direct_name_spec_without_header ... ok
[INFO] [stdout] test parser::tests::parses_headered_spec_with_inline_description ... ok
[INFO] [stdout] test parser::tests::project_basename_strips_extension_and_archive_suffix ... ok
[INFO] [stdout] test editor::xprompt_args::tests::marks_open_forms_without_parsing_required_args ... ok
[INFO] [stdout] test git_query::parsers::tests::local_changes_clean_tree_returns_none ... ok
[INFO] [stdout] test parser::tests::drops_incomplete_specs_missing_name_or_status ... ok
[INFO] [stdout] test parser::tests::rust_end_line_is_real_not_placeholder ... ok
[INFO] [stdout] test parser::tests::two_blank_lines_separate_specs ... ok
[INFO] [stdout] test parser::tests::span_excludes_trailing_blank_separator ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_read_accepts_canonical_inactive_state ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_read_defaults_missing_state_to_active ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_read_accepts_canonical_sibling_state ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_read_warns_and_defaults_invalid_state ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_read_warns_on_duplicate_state ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_update_accepts_sibling_target_state ... ok
[INFO] [stdout] test notifications::pending_actions::tests::pending_store_registers_and_resolves_prefixes ... ok
[INFO] [stdout] test host_bridge::tests::command_helper_bridge_invokes_editor_snippet_catalog ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_read_normalizes_legacy_inactive_states ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_update_inserts_before_first_name ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_update_inserts_before_running_and_preserves_crlf ... ok
[INFO] [stdout] test project_spec::tests::archive_detection_accepts_canonical_and_legacy_extensions ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_project_records_include_aliases_and_collision_warnings ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_project_records_filter_and_sort_projects ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_update_normalizes_legacy_target_state ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_update_rejects_invalid_target_state ... ok
[INFO] [stdout] test project_spec::tests::lifecycle_update_replaces_existing_state_line ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_read_defaults_missing_aliases_to_empty ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_read_sorts_dedupes_and_warns ... ok
[INFO] [stdout] test query::searchable::tests::project_dir_name_basic ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_update_rejects_invalid_or_duplicate_aliases ... ok
[INFO] [stdout] test query::tests::canonical_and_inside_or_gets_parens ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_update_removes_existing_aliases ... ok
[INFO] [stdout] test query::tests::ast_round_trips_through_json ... ok
[INFO] [stdout] test query::tests::canonical_any_special_implicit_and ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_update_inserts_before_running_and_preserves_crlf ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_update_replaces_existing_aliases_sorted ... ok
[INFO] [stdout] test project_spec::tests::project_spec_filenames_are_canonical_sase ... ok
[INFO] [stdout] test project_spec::tests::project_spec_path_conversions_emit_canonical_extension ... ok
[INFO] [stdout] test query::tests::canonical_case_sensitive_string ... ok
[INFO] [stdout] test query::tests::canonical_implicit_and ... ok
[INFO] [stdout] test query::tests::canonical_error_suffix_running_markers ... ok
[INFO] [stdout] test query::tests::canonical_not_around_and_gets_parens ... ok
[INFO] [stdout] test query::tests::canonical_escape_string_value ... ok
[INFO] [stdout] test project_spec::tests::project_spec_basename_accepts_active_and_archive_extensions ... ok
[INFO] [stdout] test project_spec::tests::project_aliases_update_inserts_before_first_name ... ok
[INFO] [stdout] test query::tests::canonical_not_string ... ok
[INFO] [stdout] test query::tests::canonical_or ... ok
[INFO] [stdout] test query::tests::canonical_property_filter_shorthands ... ok
[INFO] [stdout] test query::tests::canonical_status_property ... ok
[INFO] [stdout] test query::tests::parse_case_sensitive_string ... ok
[INFO] [stdout] test query::tests::parse_any_special_expands_to_or ... ok
[INFO] [stdout] test query::tests::parse_error_suffix_and_string ... ok
[INFO] [stdout] test query::tests::parse_error_missing_operand ... ok
[INFO] [stdout] test query::tests::canonical_or_inside_and_gets_parens ... ok
[INFO] [stdout] test query::tests::parse_error_empty_query ... ok
[INFO] [stdout] test query::tests::parse_error_unmatched_paren ... ok
[INFO] [stdout] test query::tests::parse_implicit_and ... ok
[INFO] [stdout] test query::tests::parse_not_running_agent_shorthand ... ok
[INFO] [stdout] test query::tests::parse_implicit_and_with_parens ... ok
[INFO] [stdout] test query::tests::parse_not_tightest ... ok
[INFO] [stdout] test query::tests::parse_not_running_process_shorthand ... ok
[INFO] [stdout] test query::tests::parse_or_loosest ... ok
[INFO] [stdout] test query::tests::parse_property_match ... ok
[INFO] [stdout] test query::tests::parse_standalone_exclamation_is_error_suffix ... ok
[INFO] [stdout] test query::tests::parser_error_wire_kind_is_parser ... ok
[INFO] [stdout] test query::tests::tokenize_any_special_only_standalone ... ok
[INFO] [stdout] test query::tests::token_round_trips_through_json ... ok
[INFO] [stdout] test query::tests::tokenize_at_not_standalone_is_error ... ok
[INFO] [stdout] test query::tests::tokenize_dollar_not_standalone_is_error ... ok
[INFO] [stdout] test query::tests::tokenize_double_exclamation_not_standalone_is_two_nots ... ok
[INFO] [stdout] test query::tests::tokenize_case_sensitive_string ... ok
[INFO] [stdout] test query::tests::tokenize_double_exclamation_standalone_is_not_error_suffix ... ok
[INFO] [stdout] test query::tests::tokenize_invalid_escape ... ok
[INFO] [stdout] test query::tests::tokenize_invalid_property_key ... ok
[INFO] [stdout] test query::tests::tokenize_bare_word_with_numbers ... ok
[INFO] [stdout] test query::tests::tokenize_not_dollar_with_space ... ok
[INFO] [stdout] test query::tests::tokenize_not_keyword_with_error_suffix ... ok
[INFO] [stdout] test query::tests::tokenize_not_at_with_space ... ok
[INFO] [stdout] test query::tests::tokenize_paren_and_keywords ... ok
[INFO] [stdout] test query::tests::tokenize_property_quoted_value ... ok
[INFO] [stdout] test query::tests::tokenize_quoted_with_escapes ... ok
[INFO] [stdout] test query::tests::tokenize_property_shorthands ... ok
[INFO] [stdout] test query::tests::tokenize_standalone_at_and_bang ... ok
[INFO] [stdout] test query::tests::tokenize_status_shorthand_invalid ... ok
[INFO] [stdout] test query::tests::tokenize_status_shorthand_uppercase ... ok
[INFO] [stdout] test query::tests::tokenize_triple_specials ... ok
[INFO] [stdout] test query::tests::tokenize_unterminated_string ... ok
[INFO] [stdout] test query::tests::tokenize_status_shorthands ... ok
[INFO] [stdout] test query::tests::tokenizer_error_wire_kind_is_tokenizer ... ok
[INFO] [stdout] test sections::tests::commits_drawers_attach_to_current_entry ... ok
[INFO] [stdout] test sections::tests::commits_proposal_letter_carries_through ... ok
[INFO] [stdout] test sections::tests::hooks_command_then_status_line ... ok
[INFO] [stdout] test sections::tests::hooks_new_command_flushes_previous_hook ... ok
[INFO] [stdout] test sections::tests::commits_line_starts_new_entry_and_strips_trailing_suffix ... ok
[INFO] [stdout] test sections::tests::hooks_running_agent_suffix_split_from_summary ... ok
[INFO] [stdout] test sections::tests::commits_body_lines_use_six_space_indent_and_dot_for_blank ... ok
[INFO] [stdout] test sections::tests::comments_basic_and_with_error_suffix ... ok
[INFO] [stdout] test sections::tests::deltas_requires_exactly_two_leading_spaces ... ok
[INFO] [stdout] test sections::tests::deltas_glyph_to_change_type_mapping ... ok
[INFO] [stdout] test query::tests::canonical_simple_string ... ok
[INFO] [stdout] test query::tests::parse_bare_word ... ok
[INFO] [stdout] test query::tests::parse_double_not_collapses_to_two_nots ... ok
[INFO] [stdout] test sections::tests::commits_running_agent_and_rejected_proposal_suffixes ... ok
[INFO] [stdout] test status::constants::tests::unmodified_status_passes_through ... ok
[INFO] [stdout] test status::constants::tests::valid_transitions_allow_known_pairs ... ok
[INFO] [stdout] test status::constants::tests::unknown_statuses_rejected ... ok
[INFO] [stdout] test status::constants::tests::legacy_ready_to_mail_suffix_stripped ... ok
[INFO] [stdout] test status::constants::tests::terminal_statuses_have_no_outgoing_transitions ... ok
[INFO] [stdout] test status::field_updates::tests::apply_status_update_idempotent_when_status_already_matches ... ok
[INFO] [stdout] test status::constants::tests::workspace_suffix_does_not_block_validation ... ok
[INFO] [stdout] test status::field_updates::tests::apply_status_update_no_matching_changespec_is_noop ... ok
[INFO] [stdout] test status::field_updates::tests::read_status_matches_first_changespec ... ok
[INFO] [stdout] test status::field_updates::tests::read_status_preserves_workspace_suffix ... ok
[INFO] [stdout] test status::field_updates::tests::read_status_returns_none_when_missing ... ok
[INFO] [stdout] test status::constants::tests::workspace_suffix_stripped_from_status ... ok
[INFO] [stdout] test status::field_updates::tests::apply_status_update_preserves_unrelated_lines ... ok
[INFO] [stdout] test status::field_updates::tests::apply_status_update_replaces_only_target_status ... ok
[INFO] [stdout] test status::name::tests::next_suffix_reserves_legacy_double_underscore_slot ... ok
[INFO] [stdout] test status::name::tests::next_suffix_skips_existing ... ok
[INFO] [stdout] test status::name::tests::next_suffix_starts_at_one ... ok
[INFO] [stdout] test status::planner::tests::archive_action_from_archive_under_no_validate ... ok
[INFO] [stdout] test status::planner::tests::archive_action_to_archive_on_submitted ... ok
[INFO] [stdout] test status::planner::tests::archive_action_none_within_archive_class ... ok
[INFO] [stdout] test status::planner::tests::archive_action_none_within_main_class ... ok
[INFO] [stdout] test status::planner::tests::archived_terminal_no_further_transitions ... ok
[INFO] [stdout] test status::planner::tests::invalid_transition_error_format_matches_python ... ok
[INFO] [stdout] test status::planner::tests::invalid_transition_validate_false_allows ... ok
[INFO] [stdout] test status::planner::tests::invalid_transition_validate_true_rejects ... ok
[INFO] [stdout] test status::planner::tests::legacy_ready_to_mail_suffix_stripped_for_validation ... ok
[INFO] [stdout] test status::planner::tests::parent_constraint_skipped_for_reverted_branch ... ok
[INFO] [stdout] test status::name::tests::has_suffix_recognises_single_and_double_underscore ... ok
[INFO] [stdout] test status::planner::tests::draft_to_ready_no_suffix_clears_mentors_only ... ok
[INFO] [stdout] test status::planner::tests::parent_wip_blocks_child_to_mailed ... ok
[INFO] [stdout] test status::planner::tests::ready_to_draft_appends_suffix_and_sets_mentor ... ok
[INFO] [stdout] test status::planner::tests::ready_to_draft_blocked_by_invalid_children ... ok
[INFO] [stdout] test status::planner::tests::reverted_terminal_no_further_transitions ... ok
[INFO] [stdout] test status::planner::tests::schema_version_mismatch_returns_error ... ok
[INFO] [stdout] test status::planner::tests::submitted_terminal_no_further_transitions ... ok
[INFO] [stdout] test status::planner::tests::unknown_status_rejected_under_validation ... ok
[INFO] [stdout] test status::planner::tests::wip_to_draft_no_suffix_no_mentor ... ok
[INFO] [stdout] test status::planner::tests::ready_to_draft_picks_lowest_free_suffix ... ok
[INFO] [stdout] test status::planner::tests::wip_to_ready_blocked_by_sibling_unreverted_children ... ok
[INFO] [stdout] test status::planner::tests::workspace_suffix_normalised_for_validation ... ok
[INFO] [stdout] test status::wire::tests::json_shape_keeps_optional_fields_as_null ... ok
[INFO] [stdout] test sections::tests::timestamps_hybrid_bracketed_yymmdd_parses ... ok
[INFO] [stdout] test sections::tests::timestamps_new_format_parses ... ok
[INFO] [stdout] test status::wire::tests::plan_round_trips_through_json ... ok
[INFO] [stdout] test status::field_updates::tests::read_status_matches_second_changespec ... ok
[INFO] [stdout] test sections::tests::timestamps_legacy_bracketed_format_still_parses ... ok
[INFO] [stdout] test status::planner::tests::parent_ready_does_not_block_mailed ... ok
[INFO] [stdout] test status::planner::tests::wip_to_ready_with_suffix_strips ... ok
[INFO] [stdout] test status::wire::tests::request_round_trips_through_json ... ok
[INFO] [stdout] test status::wire::tests::schema_mismatch_returns_error ... ok
[INFO] [stdout] test suffix::tests::none_input_returns_none_pair ... ok
[INFO] [stdout] test status::planner::tests::draft_to_ready_with_suffix_strips_and_clears_mentors ... ok
[INFO] [stdout] test suffix::tests::metahook_promotes_error_to_metahook_complete ... ok
[INFO] [stdout] test suffix::tests::long_prefixes_take_priority_over_short ... ok
[INFO] [stdout] test suffix::tests::standalone_markers_have_empty_value ... ok
[INFO] [stdout] test suffix::tests::unknown_prefix_returns_value_unchanged ... ok
[INFO] [stdout] test wire::tests::empty_lists_serialize_as_arrays_not_null ... ok
[INFO] [stdout] test wire::tests::changespec_field_order_matches_python ... ok
[INFO] [stdout] test wire::tests::none_fields_serialize_as_json_null ... ok
[INFO] [stdout] test wire::tests::source_span_round_trips ... ok
[INFO] [stdout] test wire::tests::parse_error_wire_shape ... ok
[INFO] [stdout] test wire::tests::delta_wire_uses_long_form ... ok
[INFO] [stdout] test suffix::tests::legacy_tilde_colon_is_plain ... ok
[INFO] [stdout] test suffix::tests::entry_ref_recognizes_digit_optional_letter ... ok
[INFO] [stdout] test wire::tests::populated_changespec_round_trips ... ok
[INFO] [stdout] test xprompt_catalog::tests::computes_known_project_local_config_definition_range ... ok
[INFO] [stdout] test xprompt_catalog::tests::config_workflows_are_ignored_but_file_backed_project_workflows_load ... ok
[INFO] [stdout] test xprompt_catalog::tests::known_project_workspaces_prefers_sase_spec_with_gp_fallback ... ok
[INFO] [stdout] test xprompt_catalog::tests::parses_markdown_frontmatter_local_xprompts_without_global_entry ... ok
[INFO] [stdout] test xprompt_catalog::tests::loads_plugin_file_and_config_catalog_sources ... ok
[INFO] [stdout] test xprompt_catalog::tests::filters_step_inputs_and_formats_defaults ... ok
[INFO] [stdout] test xprompt_catalog::tests::converts_native_xprompt_snippet_templates ... ok
[INFO] [stdout] test xprompt_catalog::tests::loads_markdown_and_workflow_with_canonical_insertions ... ok
[INFO] [stdout] test xprompt_catalog::tests::parses_xprompt_workflow_and_input_descriptions ... ok
[INFO] [stdout] test xprompt_catalog::tests::loads_native_snippet_catalog_with_user_overrides ... ok
[INFO] [stdout] test xprompt_catalog::tests::yaml_child_key_range_finds_immediate_quoted_children ... ok
[INFO] [stdout] test xprompt_catalog::tests::pseudo_sources_do_not_get_definition_paths ... ok
[INFO] [stdout] test xprompt_catalog::tests::parity_fixture_covers_supported_catalog_sources ... ok
[INFO] [stdout] test parser::tests::save_pending_entries_flushes_at_field_boundary ... ok
[INFO] [stdout] test sections::tests::mentors_entry_ref_suffix_marks_type_entry_ref ... ok
[INFO] [stdout] test sections::tests::mentors_draft_marker_is_stripped ... ok
[INFO] [stdout] test sections::tests::mentors_legacy_profiles_without_counts_split_on_whitespace ... ok
[INFO] [stdout] test sections::tests::mentors_running_status_without_timestamp_parses_as_none ... ok
[INFO] [stdout] test sections::tests::mentors_entry_with_count_then_status ... ok
[INFO] [stdout] test parser::tests::full_section_parity_emits_structured_entries ... ok
[INFO] [stdout] test agent_scan::index::tests::stale_dismissed_suffixes_do_not_consume_active_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 421 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.97s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_scan_parity.rs (/opt/rustwide/target/debug/deps/agent_scan_parity-70f568224a697a98)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test missing_root_returns_empty_snapshot ... ok
[INFO] [stdout] test exact_dir_scan_honors_project_and_workflow_filters ... ok
[INFO] [stdout] test home_running_record_has_running_marker ... ok
[INFO] [stdout] test failed_record_carries_error_and_traceback ... ok
[INFO] [stdout] test only_workflow_dirs_filters_records ... ok
[INFO] [stdout] test disable_prompt_step_markers ... ok
[INFO] [stdout] test mentor_dir_is_walked ... ok
[INFO] [stdout] test retried_records_link_via_lineage_fields ... ok
[INFO] [stdout] test max_prompt_snippet_bytes_truncates ... ok
[INFO] [stdout] test scalar_agent_meta_timestamps_are_normalized_to_lists ... ok
[INFO] [stdout] test options_round_trip_through_snapshot ... ok
[INFO] [stdout] test bounded_newest_first_limits_completed_without_hiding_incomplete ... ok
[INFO] [stdout] test exact_dir_scan_returns_only_requested_valid_unique_dirs ... ok
[INFO] [stdout] test malformed_agent_meta_is_skipped ... ok
[INFO] [stdout] test bounded_not_before_applies_to_completed_rows_only ... ok
[INFO] [stdout] test done_record_parses_done_marker ... ok
[INFO] [stdout] test records_are_sorted_deterministically ... ok
[INFO] [stdout] test pending_question_marker_is_absent_when_file_missing ... ok
[INFO] [stdout] test disable_raw_prompt_snippet ... ok
[INFO] [stdout] test scan_returns_one_record_per_artifact_dir ... ok
[INFO] [stdout] test pending_question_marker_is_surfaced_when_present ... ok
[INFO] [stdout] test running_record_carries_agent_meta ... ok
[INFO] [stdout] test stats_count_decode_errors ... ok
[INFO] [stdout] test waiting_marker_decode_error_does_not_crash ... ok
[INFO] [stdout] test selective_marker_options_skip_payloads_but_keep_done_presence ... ok
[INFO] [stdout] test running_record_carries_agent_meta_tag ... ok
[INFO] [stdout] test running_record_carries_string_output_variables ... ok
[INFO] [stdout] test running_record_carries_wait_completed_at ... ok
[INFO] [stdout] test workflow_root_record_has_state_and_steps ... ok
[INFO] [stdout] test snapshot_serializes_to_json ... ok
[INFO] [stdout] test workflow_state_hidden_is_parsed_and_indexed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bead_event_parity.rs (/opt/rustwide/target/debug/deps/bead_event_parity-f9a41cf968c354c4)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test event_validation_rejects_operation_payload_mismatch ... ok
[INFO] [stdout] test reducer_handles_current_mutation_operation_variants ... ok
[INFO] [stdout] test cross_stream_dependencies_resolve_after_all_creates ... ok
[INFO] [stdout] test legacy_empty_timestamps_still_import_to_valid_events ... ok
[INFO] [stdout] test jsonl_import_to_events_reduces_to_byte_compatible_projection ... ok
[INFO] [stdout] test event_import_preserves_legacy_defaults_and_corrupt_jsonl_tolerance ... ok
[INFO] [stdout] test reducer_removes_plan_children_and_dependency_edges_on_cascade_remove ... ok
[INFO] [stdout] test serialized_event_store_fixture_matches_import_and_reduces ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bead_read_parity.rs (/opt/rustwide/target/debug/deps/bead_read_parity-83139a1264743472)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test doctor_reports_invalid_event_store_without_legacy_fallback ... ok
[INFO] [stderr]      Running tests/bead_storage_parity.rs (/opt/rustwide/target/debug/deps/bead_storage_parity-ea17c6cb9901d42b)
[INFO] [stdout] test read_queries_match_python_contract_ordering ... ok
[INFO] [stdout] test event_store_wins_over_stale_legacy_projection ... ok
[INFO] [stdout] test event_store_supports_read_queries_without_legacy_projection ... ok
[INFO] [stdout] test doctor_reports_orphans_in_stale_legacy_projection ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test import_missing_file_returns_empty_outcome ... ok
[INFO] [stdout] test load_config_fixture_matches_python_shape ... ok
[INFO] [stdout] test current_schema_fixture_loads_hierarchy_dependencies_and_metadata ... ok
[INFO] [stdout] test legend_epic_count_round_trips_jsonl ... ok
[INFO] [stdout] test legacy_jsonl_fixtures_get_python_defaults ... ok
[INFO] [stdout] test export_current_fixture_is_byte_compatible ... ok
[INFO] [stdout] test corrupt_and_empty_fixtures_match_python_tolerance ... ok
[INFO] [stdout] test import_from_file_uses_same_parser ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/episode_wire_parity.rs (/opt/rustwide/target/debug/deps/episode_wire_parity-1f4defedbc0ca56d)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test v1_episode_fixture_deserializes_with_legacy_defaults ... ok
[INFO] [stdout] test python_episode_fixture_deserializes_into_rust_type ... ok
[INFO] [stdout] test rust_json_equals_python_episode_fixture ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/git_query_parity.rs (/opt/rustwide/target/debug/deps/git_query_parity-9cf1fe63607ea86c)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test git_query_wire_schema_version_is_one ... ok
[INFO] [stdout] test derive_workspace_name_returns_none_when_both_inputs_empty ... ok
[INFO] [stdout] test derive_workspace_name_https_remote_without_dot_git_suffix ... ok
[INFO] [stdout] test derive_workspace_name_falls_back_to_root_path_when_remote_blank ... ok
[INFO] [stdout] test derive_workspace_name_ssh_remote_with_dot_git_suffix ... ok
[INFO] [stdout] test derive_workspace_name_falls_back_to_root_path_when_remote_none ... ok
[INFO] [stdout] test derive_workspace_name_remote_dot_git_only_returns_none ... ok
[INFO] [stdout] test parse_branch_name_simple_value ... ok
[INFO] [stdout] test parse_branch_name_strips_surrounding_whitespace ... ok
[INFO] [stdout] test parse_branch_name_detached_head_returns_none ... ok
[INFO] [stdout] test derive_workspace_name_path_like_remote ... ok
[INFO] [stdout] test parse_branch_name_empty_stdout_returns_none ... ok
[INFO] [stdout] test derive_workspace_name_remote_takes_priority_over_root ... ok
[INFO] [stdout] test git_name_status_entry_wire_serializes_to_python_shape ... ok
[INFO] [stdout] test git_name_status_entry_wire_round_trips_through_json ... ok
[INFO] [stdout] test parse_branch_name_whitespace_only_returns_none ... ok
[INFO] [stdout] test parse_conflicted_files_preserves_path_order ... ok
[INFO] [stdout] test parse_conflicted_files_strips_blank_lines ... ok
[INFO] [stdout] test parse_conflicted_files_empty_stdout_returns_empty_list ... ok
[INFO] [stdout] test parse_conflicted_files_only_blank_lines_returns_empty ... ok
[INFO] [stdout] test parse_local_changes_clean_tree_returns_none ... ok
[INFO] [stdout] test parse_local_changes_dirty_tree_returns_stripped_text ... ok
[INFO] [stdout] test parse_local_changes_whitespace_only_returns_none ... ok
[INFO] [stdout] test parse_name_status_copy_with_score_carries_paired_paths ... ok
[INFO] [stdout] test parse_name_status_skips_empty_status_tokens ... ok
[INFO] [stdout] test parse_name_status_empty_stream_returns_empty_list ... ok
[INFO] [stdout] test parse_name_status_rename_with_score_carries_paired_paths ... ok
[INFO] [stdout] test parse_name_status_mixed_simple_and_rename_in_one_stream ... ok
[INFO] [stdout] test parse_name_status_trailing_nul_is_ignored ... ok
[INFO] [stdout] test parse_name_status_simple_status_letters ... ok
[INFO] [stdout] test parse_name_status_truncated_rename_falls_back_to_single_path ... ok
[INFO] [stdout] test derive_workspace_name_https_remote_with_dot_git_suffix ... ok
[INFO] [stdout] test parse_name_status_truncated_status_only_drops_entry ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/golden_corpus_parity.rs (/opt/rustwide/target/debug/deps/golden_corpus_parity-12917dc8b301fde5)
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test archive_corpus_matches_python_golden_after_end_line_normalization ... ok
[INFO] [stdout] test rust_real_end_line_is_strictly_greater_than_python_placeholder ... ok
[INFO] [stdout] test project_corpus_matches_python_golden_after_end_line_normalization ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/notification_store_parity.rs (/opt/rustwide/target/debug/deps/notification_store_parity-bc44ab0fbe2a8349)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test notification_json_shape_uses_expected_wire_keys ... ok
[INFO] [stdout] test notification_loads_legacy_defaults_and_skips_bad_rows ... ok
[INFO] [stdout] test notification_missing_file_returns_empty_snapshot ... ok
[INFO] [stdout] test notification_append_counts_returns_metadata_without_rows ... ok
[INFO] [stdout] test notification_phase1_contract_fixture_loads_with_expected_counts ... ok
[INFO] [stdout] test notification_append_and_rewrite_round_trip_jsonl ... ok
[INFO] [stdout] test notification_counts_match_python_priority_rules ... ok
[INFO] [stdout] test notification_append_counts_produces_byte_identical_jsonl ... ok
[INFO] [stdout] test notification_expire_snoozes_handles_aware_and_naive_timestamps ... ok
[INFO] [stdout] test notification_dismiss_agent_completions_no_op_when_already_dismissed ... ok
[INFO] [stdout] test notification_dismiss_agent_completions_matching_agents_is_completion_only ... ok
[INFO] [stdout] test notification_dismiss_matching_agents_covers_notification_action_shapes ... ok
[INFO] [stdout] test notification_rewrite_counts_preserves_unseen_rows ... ok
[INFO] [stdout] test notification_rewrite_counts_returns_metadata_without_rows ... ok
[INFO] [stdout] test notification_dismiss_matching_agents_covers_user_agent_view_error_report ... ok
[INFO] [stdout] test notification_rewrite_all_preserves_unseen_rows ... ok
[INFO] [stdout] test notification_dismiss_agent_completions_matches_user_agent_jump_and_error ... ok
[INFO] [stdout] test notification_mute_and_snooze_follow_python_semantics ... ok
[INFO] [stdout] test notification_rewrite_counts_produces_byte_identical_jsonl ... ok
[INFO] [stdout] test notification_batch_dismiss_and_rewrite_all_update_the_store ... ok
[INFO] [stdout] test notification_rewrite_preserves_unseen_rows ... ok
[INFO] [stdout] test notification_state_update_counts_skips_returned_snapshot ... ok
[INFO] [stdout] test notification_state_updates_mutate_only_intended_rows ... ok
[INFO] [stdout] test notification_tags_round_trip_through_append_load_and_rewrite ... ok
[INFO] [stdout] test notification_append_plus_rewrite_counts_concurrency_preserves_valid_rows ... ok
[INFO] [stdout] test notification_append_plus_rewrite_concurrency_preserves_valid_rows ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/python_wire_parity.rs (/opt/rustwide/target/debug/deps/python_wire_parity-55953beae710c771)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/query_evaluator_parity.rs (/opt/rustwide/target/debug/deps/query_evaluator_parity-c5bd4132f2d77b8d)
[INFO] [stdout] test python_fixture_deserializes_into_rust_type ... ok
[INFO] [stdout] test rust_json_equals_python_fixture ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test ancestor_walk_avoids_cycles ... ok
[INFO] [stdout] test persistent_corpus_matches_golden_matrix_samples ... ok
[INFO] [stdout] test persistent_corpus_reuses_derived_data_across_repeated_evaluations ... ok
[INFO] [stdout] test substring_semantics_not_regex ... ok
[INFO] [stdout] test evaluation_matrix_boolean_ops ... ok
[INFO] [stdout] test batch_evaluation_is_idempotent ... ok
[INFO] [stdout] test evaluation_matrix_status_shorthands ... ok
[INFO] [stdout] test persistent_corpus_keeps_ancestor_memo_query_specific ... ok
[INFO] [stdout] test evaluation_matrix_property_shorthands ... ok
[INFO] [stdout] test evaluation_matrix_escapes_are_literal ... ok
[INFO] [stdout] test batch_and_oneshot_agree ... ok
[INFO] [stdout] test evaluation_matrix_error_running_shorthands ... ok
[INFO] [stdout] test evaluation_matrix_property_filters ... ok
[INFO] [stdout] test evaluation_matrix_quoted_strings ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sase_core_rs-f44148e63a74f52d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test tests::plan_agent_cleanup_binding_rejects_schema_mismatch ... ok
[INFO] [stdout] test tests::query_compile_errors_are_python_value_errors ... ok
[INFO] [stdout] test tests::notification_store_binding_rejects_bad_update_shape ... ok
[INFO] [stdout] test tests::plan_agent_cleanup_binding_round_trips_json_shape ... ok
[INFO] [stdout] test tests::notification_store_counts_binding_omits_rows_and_persists ... ok
[INFO] [stdout] test tests::query_handle_bindings_reject_wrong_handle_types ... ok
[INFO] [stdout] test tests::query_handles_evaluate_one_query_against_multiple_corpora ... ok
[INFO] [stdout] test tests::query_handles_evaluate_multiple_queries_against_one_corpus ... ok
[INFO] [stdout] test tests::notification_store_append_and_rewrite_counts_bindings_omit_rows ... ok
[INFO] [stdout] test tests::query_handles_match_legacy_one_shot_results ... ok
[INFO] [stdout] test tests::notification_store_binding_round_trips_json_shape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sase_gateway-9601edf354b40fba)
[INFO] [stdout] 
[INFO] [stdout] running 82 tests
[INFO] [stdout] test daemon::tests::daemon_mobile_bind_policy_is_skipped_when_mobile_http_disabled ... ok
[INFO] [stdout] test daemon::tests::daemon_default_paths_are_host_local_under_sase_home ... ok
[INFO] [stdout] test daemon::tests::daemon_host_identity_is_path_safe ... ok
[INFO] [stdout] test daemon::tests::daemon_run_root_override_drives_default_socket_path ... ok
[INFO] [stdout] test daemon::tests::daemon_socket_path_override_is_preserved ... ok
[INFO] [stdout] test push::tests::fcm_payload_contains_hint_only_data ... ok
[INFO] [stdout] test push::tests::fcm_provider_posts_expected_http_v1_shape ... ok
[INFO] [stdout] test contract::tests::committed_contract_snapshot_is_current ... ok
[INFO] [stdout] test routes::tests::event_resume_outside_buffer_returns_resync_required ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_exit_failure_maps_to_unavailable ... ok
[INFO] [stdout] test routes::tests::event_resume_after_restart_returns_resync_required ... ok
[INFO] [stdout] test routes::tests::attachment_download_requires_gateway_auth ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_xprompt_catalog_returns_new_helper_fields ... ok
[INFO] [stdout] test routes::tests::agents_without_token_returns_typed_unauthorized_error ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_changespec_tags_returns_command_output ... ok
[INFO] [stdout] test routes::tests::attachment_tokens_are_bound_to_device ... ok
[INFO] [stdout] test routes::tests::action_artifacts_are_declared_as_attachments ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_update_exit_codes_map_to_stable_errors ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_not_found_maps_to_helper_not_found ... ok
[INFO] [stdout] test routes::tests::helper_host_bridge_errors_map_to_stable_api_codes ... ok
[INFO] [stdout] test routes::tests::health_route_returns_stable_record ... ok
[INFO] [stdout] test routes::tests::events_without_token_returns_typed_unauthorized_error ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_update_status_returns_command_output ... ok
[INFO] [stdout] test routes::tests::event_resume_replays_buffered_records_after_last_event_id ... ok
[INFO] [stdout] test routes::tests::events_with_token_returns_sse_response ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_malformed_json_maps_to_unavailable ... ok
[INFO] [stdout] test routes::tests::expired_attachment_tokens_return_typed_error ... ok
[INFO] [stdout] test routes::tests::command_helper_bridge_update_start_returns_command_output ... ok
[INFO] [stdout] test routes::tests::helper_routes_without_token_return_typed_unauthorized_errors ... ok
[INFO] [stdout] test routes::tests::notification_state_mutation_without_token_returns_typed_unauthorized_error ... ok
[INFO] [stdout] test routes::tests::notification_detail_returns_notes_action_and_attachments ... ok
[INFO] [stdout] test routes::tests::notification_detail_not_found_returns_typed_error ... ok
[INFO] [stdout] test routes::tests::invalid_and_revoked_tokens_are_unauthorized ... ok
[INFO] [stdout] test routes::tests::notification_state_mutation_not_found_returns_typed_error ... ok
[INFO] [stdout] test routes::tests::fake_helper_bridge_routes_return_stable_success_shapes ... ok
[INFO] [stdout] test routes::tests::command_agent_bridge_routes_return_command_output ... ok
[INFO] [stdout] test routes::tests::notification_mark_read_updates_store_and_audits ... ok
[INFO] [stdout] test routes::tests::notification_dismiss_updates_store_and_emits_refresh_event ... ok
[INFO] [stdout] test routes::tests::pair_start_returns_short_lived_code_without_token ... ok
[INFO] [stdout] test routes::tests::notifications_without_token_returns_typed_unauthorized_error ... ok
[INFO] [stdout] test routes::tests::pair_finish_rejects_expired_code ... ok
[INFO] [stdout] test routes::tests::hitl_actions_write_response_and_dismiss_notification ... ok
[INFO] [stdout] test routes::tests::notifications_list_filters_and_orders_newest_first ... ok
[INFO] [stdout] test routes::tests::hitl_and_question_action_errors_are_deterministic ... ok
[INFO] [stdout] test routes::tests::production_agent_bridge_returns_typed_unavailable_error ... ok
[INFO] [stdout] test routes::tests::pair_finish_persists_device_and_returns_token_once ... ok
[INFO] [stdout] test routes::tests::notification_detail_mints_short_lived_download_tokens ... ok
[INFO] [stdout] test routes::tests::notifications_list_uses_host_action_state ... ok
[INFO] [stdout] test routes::tests::push_subscriptions_require_auth ... ok
[INFO] [stdout] test routes::tests::production_helper_bridge_returns_typed_unavailable_error ... ok
[INFO] [stdout] test server::tests::default_bind_is_loopback ... ok
[INFO] [stdout] test routes::tests::unknown_route_returns_typed_not_found_error ... ok
[INFO] [stdout] test routes::tests::notifications_list_can_include_dismissed_and_silent_rows ... ok
[INFO] [stdout] test routes::tests::session_without_token_returns_typed_unauthorized_error ... ok
[INFO] [stdout] test server::tests::explicit_non_loopback_opt_in_is_allowed ... ok
[INFO] [stdout] test server::tests::listener_serves_health_over_http ... ok
[INFO] [stdout] test server::tests::non_loopback_bind_requires_explicit_opt_in ... ok
[INFO] [stdout] test storage::tests::token_pairing_persists_only_hash ... ok
[INFO] [stdout] test routes::tests::session_returns_authenticated_device ... ok
[INFO] [stdout] test wire::tests::event_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::health_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::mobile_helper_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::mobile_xprompt_catalog_entry_deserializes_legacy_shape ... ok
[INFO] [stdout] test wire::tests::mobile_agent_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::error_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::pairing_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::push_hint_mapping_uses_safe_event_projection ... ok
[INFO] [stdout] test wire::tests::session_wire_json_snapshot ... ok
[INFO] [stdout] test wire::tests::push_subscription_wire_json_snapshot ... ok
[INFO] [stdout] test routes::tests::plan_action_approve_writes_response_and_dismisses_notification ... ok
[INFO] [stdout] test storage::tests::push_subscription_register_update_and_revoke_is_atomic ... ok
[INFO] [stdout] test routes::tests::unsafe_or_oversized_attachments_do_not_receive_tokens ... ok
[INFO] [stdout] test routes::tests::push_subscription_duplicate_updates_existing_record ... ok
[INFO] [stdout] test routes::tests::test_push_provider_records_hint_attempts ... ok
[INFO] [stdout] test routes::tests::push_subscription_validation_and_audit_do_not_leak_provider_token ... ok
[INFO] [stdout] test routes::tests::push_subscription_register_list_and_revoke_round_trip ... ok
[INFO] [stdout] test server::tests::listener_smoke_exercises_pairing_auth_and_session ... ok
[INFO] [stdout] test routes::tests::plan_action_errors_are_deterministic ... ok
[INFO] [stdout] test routes::tests::fake_agent_bridge_routes_return_stable_success_shapes ... ok
[INFO] [stdout] test routes::tests::question_actions_support_option_and_custom_answers ... ok
[INFO] [stdout] test routes::tests::plan_action_run_and_feedback_match_existing_response_shapes ... ok
[INFO] [stdout] test routes::tests::mobile_notification_actions_attachment_smoke_harness ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 82 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sase_gateway-03f5e749ced60768)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test tests::parse_agent_bridge_command_short_flag ... ok
[INFO] [stdout] test tests::parse_allow_non_loopback_short_flag ... ok
[INFO] [stdout] test tests::parse_bind_long_flag ... ok
[INFO] [stdout] test tests::parse_contract_out_short_flag ... ok
[INFO] [stdout] test tests::parse_push_flags ... ok
[INFO] [stdout] test tests::parse_helper_bridge_command_short_flag ... ok
[INFO] [stdout] test tests::parse_sase_home_short_flag ... ok
[INFO] [stdout] test tests::parse_bind_short_flag ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sase_xprompt_lsp-df8b42f315745484)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test catalog_cache::tests::snippet_cache_refreshes_from_helper ... ok
[INFO] [stdout] test catalog_cache::tests::snippet_cache_returns_stale_entries_on_helper_failure ... ok
[INFO] [stdout] test catalog_cache::tests::snippet_cache_uses_rust_fallback_when_helper_unavailable ... ok
[INFO] [stdout] test lsp_convert::tests::converts_editor_range_to_lsp_range ... ok
[INFO] [stdout] test lsp_convert::tests::completion_item_uses_replacement_text_edit ... ok
[INFO] [stdout] test lsp_convert::tests::converts_sase_snippet_template_to_lsp_snippet_syntax ... ok
[INFO] [stdout] test server::tests::detects_snippet_support_from_client_capabilities ... ok
[INFO] [stdout] test catalog_cache::tests::direct_launch_keeps_rust_catalog_when_helper_unavailable ... ok
[INFO] [stdout] test server::tests::document_eligibility_narrows_plain_markdown ... ok
[INFO] [stdout] test catalog_cache::tests::direct_launch_without_plugin_metadata_merges_helper_and_rust_catalogs ... ok
[INFO] [stdout] test catalog_cache::tests::wrapper_launch_with_plugin_metadata_uses_fast_rust_catalog ... ok
[INFO] [stdout] test server::tests::catalog_invalidation_tracks_xprompt_source_dirs ... ok
[INFO] [stdout] test server::tests::definition_returns_none_for_pseudo_or_missing_sources ... ok
[INFO] [stdout] test server::tests::definition_uses_definition_path_outside_workspace_root ... ok
[INFO] [stdout] test server::tests::completes_xprompt_from_static_catalog ... ok
[INFO] [stdout] test server::tests::bare_trigger_snippets_require_client_snippet_support ... ok
[INFO] [stdout] test server::tests::xprompt_snippet_completion_returns_one_row_per_match ... ok
[INFO] [stdout] test server::tests::diagnostics_for_uri_text_accepts_markdown_local_xprompts ... ok
[INFO] [stdout] test server::tests::exposes_hover_diagnostics_code_actions_and_definition ... ok
[INFO] [stdout] test server::tests::diagnostics_for_uri_text_honors_memory_long_file_uri ... ok
[INFO] [stdout] test server::tests::definition_preserves_catalog_definition_range ... ok
[INFO] [stdout] test server::tests::bare_trigger_snippet_completion_uses_snippet_items ... ok
[INFO] [stdout] test server::tests::xprompt_snippet_completions_use_single_row_skeletons ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sase_xprompt_lsp-f5bd475cf6a8ff88)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/jsonrpc_stdio.rs (/opt/rustwide/target/debug/deps/jsonrpc_stdio-ab8f0dce584ea802)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test stdio_jsonrpc_unsupported_markdown_has_no_xprompt_behavior ... ok
[INFO] [stdout] test stdio_jsonrpc_bare_snippet_completion ... ok
[INFO] [stdout] test stdio_jsonrpc_frontmatter_diagnostics ... ok
[INFO] [stdout] test stdio_jsonrpc_initialize_and_completion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sase_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sase_core_rs
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sase_gateway
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sase_xprompt_lsp
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7fc80888b9754c16b2adde5ec01af26f538a048b627771ed4799e0603b516bad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fc80888b9754c16b2adde5ec01af26f538a048b627771ed4799e0603b516bad", kill_on_drop: false }`
[INFO] [stdout] 7fc80888b9754c16b2adde5ec01af26f538a048b627771ed4799e0603b516bad
